using Admin2025.Domain.Entities;

namespace Admin2025.Domain.Entities.App;

public class AppRolePermission : EntityBase
{
    public Guid RoleId { get; private set; }
    public AppRole Role { get; private set; }
    public Guid PermissionId { get; private set; }
    public AppPermission Permission { get; private set; }

    // EF Core 需要的无参构造函数
#pragma warning disable CS8618 // 在退出构造函数时，不可为 null 的字段必须包含非 null 值。请考虑添加 "required" 修饰符或声明为可为 null。
    protected AppRolePermission() { }
#pragma warning restore CS8618 // 在退出构造函数时，不可为 null 的字段必须包含非 null 值。请考虑添加 "required" 修饰符或声明为可为 null。

    public AppRolePermission(AppRole role, AppPermission permission)
    {
        Role = role;
        RoleId = role.Id;
        Permission = permission;
        PermissionId = permission.Id;
    }
}